/**
 * 
 * url： https://101.zoo.team/zi-fu-chuan/zi-fu-chuan-part-1-fan-zhuan-zheng-shu-you-xiao-de-zi-mu-yi-wei-ci-he-fan-zhuan-zheng-shu#zi-fu-chuan-zhuan-huan-zheng-shu
 * 
 * 类似重写 parseInt
 * 
 * 示例1
 * 输入："42"
 * 输出：42
 * 
 * 示例2
 * 输入: "-42"
 * 输出: -42
 * 
 * 示例3
 * 输入："4193 with words"
 * 输出：4193
 * 
 * 示例4
 * 输入："words and 987"
 * 输出：0
 * 
 * 示例5    数字-91283472332超过32位有符号整数范围，返回INT_MIN(-2147483648)
 * 输入："-91283472332"
 * 输出：-2147483648
 * 
 * 
 */


/**
 * 正则
 */

const myAtoi1 = (str) => {
    // 清除符号， 使用正则提取满足条件的字符 
    const result = str.trim().match(/^(-|\+)?\d+/g)
    
    // 判断是否超过int的最大值与最小值
    return result ? Math.max(Math.min(Number(result[0]), Math.pow(2, 31) - 1), -Math.pow(2, 31)) : 0
}
